using System;
using System.Data;
using System.Collections;
using System.Text;

namespace Common.Database
{
    /// <summary>
    /// 
    /// </summary>
    public interface IDatabase : IAgent
    {
        #region C'Tor / D'Tor

        /// <summary>
        ///
        /// </summary>
        /// <param name="strViewName"></param>
        IView GetView(string strViewName);

        /// <summary>
        ///
        /// </summary>
        /// <param name="strTableName"></param>
        ITable GetTable(string strTableName);

        /// <summary>
        ///
        /// </summary>
        string[] GetDataTypes();

        /// <summary>
        ///
        /// </summary>
        /// <param name="strStoredProcedureName"></param>
        IStoredProcedure GetStoredProcedure(string strStoredProcedureName);


        #endregion C'Tor / D'Tor

        #region Properties

        /// <summary>
        ///
        /// </summary>
        string Name
        {
            get;
        }

        /// <summary>
        ///
        /// </summary>
        IServer Server
        {
            get;
        }


        #endregion Properties

    }
}
